#pragma once

#ifndef _Vertex_h_
#define _Vertex_h_

#include <d3dx9.h>

namespace Framework {

struct Vertex {
public:
    Vertex(void);
    Vertex(FLOAT x, FLOAT y, FLOAT z);
    Vertex(FLOAT x, FLOAT y, FLOAT z, FLOAT nx, FLOAT ny, FLOAT nz, FLOAT u, FLOAT v);
    Vertex(FLOAT x, FLOAT y, FLOAT z, FLOAT u, FLOAT v);
    FLOAT x, y, z;
    FLOAT nx, ny, nz;
    FLOAT u, v; // Texture Coordinates
    static const DWORD FVF = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1;
    static D3DVERTEXELEMENT9* GetVertexElement();
private:
    static D3DVERTEXELEMENT9* Vertex::vertexElement;
};

}

#endif